Die MNIST-Datenbank (Modified National Institute of Standards and Technology database) ist eine öffentlich verfügbare Datenbank von handgeschriebenen Ziffern. Die MNIST-Datenbank besteht aus 60.000 Beispielen (28x28 grayscale Bilder) im Trainingsdatensatz und 10.000 Beispielen im Testdatensatz.
Wir werden eine einfache Neurale Netzwerk aus 2 hidden Schichten (500 bzw. 50 Knoten) bilden und werden uns Loss Landschaft für 2 Gewichte in letzten Layer anschauen. Überwachung diese 2 Gewichte lässt sich wieder qualitative Unterschied zwischen Algorythmen zeigen.
Lassen uns anfangen. Wir importieren alle benötigte Module und bereiten Daten vor.
Die Eingabedaten sind 60,000 grayscale 28x28 Bilder. \ D.h. die X-Werte sind die Zahlen zwischen 0 und 255. Für Normalisierung reicht sie durch 255 zu teilen. \ Wir werden auch sie aus 28x28 Matrice zum 1x784 Vektor strecken.
Als Aktivierung-Funktion wird Sigmoid benutzt $S(x)=\frac{1}{1+e^{-x}}$
Plot der Loss Landschaft für unterschiedliche Anzahl von Samplen:
Lassen uns Netzwerk trainieren, aber nur die Gewichte, die wir überwachen.